Resumer : Travailler a plusieurs c'est bien, mais pas évident ! SVN aussi appeler Subversion, est la pour résoudre ce problème et plus. Relativement simple a utilisé coté client, a contrario coté serveur ce n'est pas forcement évident.
Sommaire :
1) Installer SVN serveur
a) Sous Debian
b) Sous Windows
2) Configuré le serveur Subversion
a) Global
b) Avancé
I) Obliger a metre un commentaire
I) Autre
3) WebSVN
a) Installation
b) Configuration
b) Crée un utilisateur
4) Utilisé SVN en tante que client
a) Sous Windows
I) Installer TortoiseSvn
II) Configuré TortoiseSvn
5) LA SUITE
Travailler a plusieurs c'est bien, mais pas évident ! SVN aussi appeler Subversion, est la pour résoudre ce problème et plus. Relativement simple a utilisé coté client, a contrario coté serveur ce n'est pas forcement évident.
Dans quelle cas utilisé SVN ?
Si vous prévoyez de travaille seul sur un projet, SVN vous sera utilise mais pas indispensable. A plusieurs il vous sera utile et indispensable. Prenom un exemple simple utilisateur1 veux modifier le fichier fichier.php, utilisateur2 est déjà entrain de travailler sur ce fichier, utilisateur2 envoi sa dernier version et utilisateur1 aussi, l'algo de subversion va donner le reulta suivant : vous avez un fichier final avec les modification de utilisateur1 et utilisateur2 !
L'installation est relativement facile, la configuration elle est... d'après moi compliqué surtout au début. Dans tout les cas il vous faut un serveur LAMP ou WAMP configuré correctement, allez voir mes autre articles pour cela.
Remarque : Le port utiliser par svn est : 3690
On commence par installer Subversion avec la commande :
apt-get install subversion
Jusque la, pas tres dificielle !
Normal on est sous debian
Maintenand il faut crée un dépot. Par habitude je mait tout cela dans /var, créon donc un répertoire :
mkdir /var/svn
Il ne reste plus qu'a lancer le serveur :
svnserve -d -r /var/svn
Pour vous éviter de retaper cette commande a chaque redémarrage vous pouvez aussi crée un script pour le démarrage de votre serveur.
Crée un fichier svnserve dans /etc/init.d :
nano /etc/init.d/svnserve
Puis dans ce fichier inscrire :
#! /bin/sh
startSVN () {
svnserve -d -r /var/svn --pid-file /etc/subversion/pid
}
stopSVN () {
echo "Pas de commeande stop pour le moment"
}
case "$1" in
start)
startSVN
;;
stop)
stopSVN
;;
restart|reload|force-reload)
echo "Erreur: argument '$1' non supporter" >&2
exit 3
;;
*)
echo "Usage: $0 start" >&2
exit 3
;;
esac
Ensuite il faut rendre ce script exécutable : chmod 111 /etc/init.d/svnserve
Puis l'enregistré :
update-rc.d svnserve defaults
Plusieur ligne du type :
Adding system startup for /etc/init.d/svnserve ...
/etc/rc0.d/K20svnserve -> ../init.d/svnserve
/etc/rc1.d/K20svnserve -> ../init.d/svnserve
/etc/rc6.d/K20svnserve -> ../init.d/svnserve
/etc/rc2.d/S20svnserve -> ../init.d/svnserve
/etc/rc3.d/S20svnserve -> ../init.d/svnserve
/etc/rc4.d/S20svnserve -> ../init.d/svnserve
/etc/rc5.d/S20svnserve -> ../init.d/svnserve
Vons s'afficher. C'est parfait !
Maitenand vous pouvez le lancer :
/etc/init.d/svnserve start
Si un jour vous souhaiter supprimer ce lanceur :
update-rc.d -f svnserve remove
[lien=http://blumax.fr/download.php?artcileID=9]Télécharger Subversion[/lien]
Lancer l'installation le programme
Next -> Next -> Choisire pour apache 2.2 -> Next -> Next -> Install
Clique droit sur Poste de travail -> Propriété
Onglet Avancé
Bouton Variables d'environement
Dans variable system cliquer sur nouveau :
Nom : SVN_EDITOR
Valeur : C:\WINDOWS\notepad.exe
Redémarré pour activer les modification
Crée un dossier svn dans c:
Pour lancer le serveur dans un inviter de commande tapez :
svnserve -d -r "c:\svn"
Attention : Windows, peux vous demande si vous voulez débloquer le programme : dit : Débloqué
Comme vous pouvez le remarqué, le fenêtre ms-dos, ne redonne pas la main (toutefois le programme fonction réellement).
Pour l'arrété fait : CTRL + C.
Copie le fichier service disponible ici : http://blumax.fr/download.php?artcileID=10 dans C:\Program Files\Subversion\bin ensuite dans l'invité de commande tapez :
cd C:\Program Files\Subversion\bin
ensuite :
svnservice -install --daemon --root "c:\svn"
Il ne vous rest plus qu'a dir a Windows de le demaré automatiquement au demarage de windows :
Démarrer -> Paramètre -> Panneau de configuration
Outils d'administration -> Services
Double clique sur SVNService
Changer "Type de démarrage" en "Automatique" ensuite appuyer sur le bouton Démarrér pour finir appuyer sur OK, et fermer la fenetre "Service"
Le dossier c:\svn ou /var/svn, est le repertoir de Subversion, dans ces repertoire il faut donc crée un premier depos, que l'on va nommmé "projet1"
Ouvrire une console (cmd).
Pour windows Démarrer -> Executer. Tapez cmd puis entrée.
Pous linux : vous devez savoir comment fair
tapez la commande :
pour linux : svnadmin create "c:\svn\projet1"
pour windows : svnadmin create /var/svn/projet1
Quand un client va envoyer une nouvelle version il est souhaitable que le développeur mettent des commentaires. Cette solution va simplement l'obligé ! Subversion dispose d'un mécanisme d'exécution, post & pré commit.
J'explique la manipulation sous Linux pour les autres sa sera plus tard.
Alez dans le repertoire hooks du depot :
cd /var/svn/projet1/hooks/
Faite
cp pre-commit.tmpl pre-commit (Copie le fichier)
Rendre ce fichier executable :
chmod 777 pre-commit
Editer ce fichier
nano pre-commit
Supprimer tout le contenu et coller ce code :
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null
if [ $? -ne 0 ] ; then
echo "Mettez un message dans le commit.">/dev/stderr
exit 1
fi
exit 0
J'ai vue sur Internet un script qui vérifié si le code PHP, ne lancé aune alerte, et dans ce cas autoriser le commit, ce qui peux être très pratique. Je me pencherais sur cela bientôt.
Maitenand que votre serveur est crée, il doit etre fonctionel, trois posibilité s'offre a vous :
- Utilisé SVN directement
- Utiliser un mecanisme lier a apache pour naviger dans votre projet (Moche avec aucune option)
- Installer WebSVN qui permet d'avoir des page comme cel-ci :
[PHOTO1][PHOTO2][PHOTO3][PHOTO4]
Cette étapes n'est pas obligatoire, mais permet par exemple sa savoir qui a écrit cette ligne ! Si cela ne vous interese pas passes directement au grand 4.
J'ecriré cette partie plus tard, car facultative
J'ecriré cette partie plus tard, car facultative
htpasswd /var/svn/svn-passwords blumax
Cette partie ne concerne que le développement web. Car je vais partir dans le principe que WAMP est installer sur votre ordinateur.
Remarque : Cher amie manchot, je vous invite a faire une recherche sur Google, n'utilisant Linux seulement pour des serveur, mon expérience en développement se limite a Windows.
http://blumax.fr/download.php?artcileID=11
Suivant->Suivant... rien de plus simple !
Alez dans le dossier C:\wamp\www, dans celui-ci crée un dossier avec le nom qui vous convient.
Fait un clique droit sur celui-ci et cliquer sur "SVN Checkout...", renseigné le champs "URL of repository", indiquer l'url comme ceci : "svn://blumax.fr/projet1"
Fait ok.
Si votre serveur vous oblige a metre un commentaire proceder a cette manipulation qui bloquera le bouton OK tant qu'aune message est renseigné.
Clique droit sur le repertoire du projet puis TortoiseSVN -> Properties
Une fenetre souvre cliquer sur le bouton New...
Dans "Property name" choisire : "tsvn:logminsize"
Et dans "Property value" metre 1. Faite OK. Puis encore OK.
SVN récupère la dernier version
Vous pouvez travailler sur vos fichier.
Après avoir travailler sur votre projet, fait un clique droit sur le dossier du projet et fait SVN Commit..., ecrivé un petit message, selectioner les fichier que vous voulez ajouter si vous l'avez fair ou cloquer sur "Select/deselect all" pour tout ou rien cocher puis fait OK
Note : Il est important de faire une update avant de travailler, vérifié que personne na fait de modifé sur un fichier, et comme sa vous ete sur d'avoir la dernier version.
Je me demande comment envoyé directement une nouvelle version directement sur le serveur de production, ... Je vous répondré plus tard.
Par Blumax le 17/04/2015
Aucun commentaire
Vous devez vous connecter pour poster un commentaire